package com.shujia.day04;

public class Code06ArrayTest {
    public static void main(String[] args) {
        /*
            数组元素逆序 (就是把元素对调)
            {1,2,3,4,5}
            5 -> 1
            4 -> 2
         */
        int[] arr = {1,2,3,4,5};
        // 先取出 5 用int类型变量保存
//        int tmp = arr[4];
//        // 将下标为0的数据赋值给下标为4
//        arr[4] = arr[0];
//        // 将 5 变量赋值给下标为0
//        arr[0] = tmp;


        // 将上述的逻辑重复整体长度一半的次数就可以了
        arr = orderByDesc1(arr);
        System.out.println(printArr(arr));


        System.out.println(printArr(orderByDesc2(arr)));

    }

    public static int[] orderByDesc2(int[] arr){
        for (int start = 0,end = arr.length-1; start < end; start++,end--) {
            int tmp = arr[start];
            arr[start] = arr[end];
            arr[end] = tmp;
        }
        return arr;
    }

    public static int[] orderByDesc1(int[] arr){
        for (int i = 0; i < arr.length/2; i++) {
            int tmp = arr[arr.length-1-i];
            arr[arr.length-1-i] =  arr[i];
            arr[i] = tmp;
        }
        return arr;
    }


    public static String printArr(int[] arr){
        String res = "";
        for (int index = 0; index < arr.length; index++) {
            // 需要对下标位置进行判断，根据不同的情况，拼接不同的值
            if(index == 0){
                res += ("[" + arr[index]);
            }else if(index == arr.length -1){
                res += (","+arr[index]+"]");
            }else {
                res += (","+arr[index]);
            }
        }
        return res;
    }
}
